package org.com.fw.util;

import java.util.Collection;
import java.util.Map;

public class StringUtil {

	/**
	 * 判断参数是否为空，空 true.
	 * 
	 * @param o
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public static boolean isEmpty(Object o) {
		if (o == null) {
			  return true;
		  }
		  if ((o instanceof String)) {
			  if (((String)o).trim().length() == 0) {
				  return true;
			  }
		  } else if ((o instanceof Collection)) {
			  if (((Collection)o).isEmpty()) {
				  return true;
			  }
		  } else if (o.getClass().isArray()) {
			  if (((Object[])o).length == 0) {
				  return true;
			  }
		  } else if ((o instanceof Map)) {
			  if (((Map)o).isEmpty()) {
				  return true;
			  }
		  }
		  return false;
	}

	/**
	 * 判断参数是否为空，不空 true.
	 * 
	 * @param str
	 * @return
	 */
	public static boolean isNotEmpty(String str) {
		return !isEmpty(str);

	}
	
	/**
	 * 判断参数是否是数字 数字 true.
	 * @param o
	 * @return
	 */
	public static boolean isNumber(Object o) {
		if (o == null) {
			return false;
		}
		if ((o instanceof Number)) {
			return true;
		} else if ((o instanceof String)) {
			try {
				Double.parseDouble((String)o);
				return true;
			} catch (NumberFormatException e) {
				return false;
			}
		}
		return false;
	}

	/**
	 * 判断参数是否为数字，数字 true.
	 * 
	 * @param o
	 * @return
	 */
	public static boolean isNotNumber(Object o) {
		return !isNumber(o);

	}
}